package com.ziytek.web.citizen.service.itf;

import com.ziytek.web.citizen.model.bean.CommandIssuedSuccess;
import com.ziytek.web.citizen.model.req.StepSettingsIssuedSingleReq;

/**
 * @author fenghx
 */
public interface StepSettingsIssuedSingleService {

    /**
     * 指令执行
     *
     * @param req 请求参数
     **/
    void issued(StepSettingsIssuedSingleReq req);

    /**
     * 终止指令执行
     *
     * @param req 请求参数
     **/
    void endIssued(StepSettingsIssuedSingleReq req);

    /**
     * 指令下一个执行
     *
     * @param req 请求参数
     **/
    void nextIssued(CommandIssuedSuccess req);

    /**
     * 中断继续执行
     *
     * @param req                请求参数
     * @param expectedTimeSecond 执行时长
     **/
    void interruptReIssued(CommandIssuedSuccess req, Integer expectedTimeSecond);

    /**
     * 中断继续执行
     *
     * @param req                请求参数
     * @param expectedTimeSecond 执行时长
     **/
    void interruptReIssuedOneBoardNo(CommandIssuedSuccess req, Integer expectedTimeSecond);

    /**
     * 中断继续执行
     *
     * @param req                请求参数
     * @param expectedTimeSecond 执行时长
     * @return String s
     **/
    String getInterruptReIssuedCmd(CommandIssuedSuccess req, Integer expectedTimeSecond);

    /**
     * 只下发指令
     *
     * @param req 请求参数
     **/
    void onlyIssue(CommandIssuedSuccess req);


}
